//package org.jeecg.modules.zcgl.socket;
//
//import cn.hutool.*;
//import cn.hutool.socket.nio.NioClient;
//import io.netty.bootstrap.Bootstrap;
//import io.netty.channel.ChannelFuture;
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.ChannelOption;
//import io.netty.channel.EventLoopGroup;
//import io.netty.channel.nio.NioEventLoopGroup;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.channel.socket.nio.NioSocketChannel;
//import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
//import io.netty.handler.codec.LengthFieldPrepender;
//import io.netty.handler.codec.string.StringDecoder;
//import io.netty.handler.codec.string.StringEncoder;
//import io.netty.util.CharsetUtil;
//
//import java.nio.ByteBuffer;
//
//
///**
// * ClassName：Client
// * Package:com.jidongcloud
// *
// * @DATE:2020/11/14 0014 21:12
// * @Author:robin TODO:
// */
//public class Client  implements  Runnable{
//    //定义worker线程，进行网络通讯，比如 读写操作
//    public  static   EventLoopGroup workerGroup = new NioEventLoopGroup();
//    @Override
//    public void run() {
//        try {
//
//            //  辅助工具类，用于服务器通道的一系列配置
//            Bootstrap bootstrap = new Bootstrap();
//            bootstrap.group(workerGroup)
//                    .channel(NioSocketChannel.class)
//                    .option(ChannelOption.TCP_NODELAY,true)
//                    .handler(new ChannelInitializer<SocketChannel>() {
//                        @Override
//                        protected void initChannel(SocketChannel socketChannel) throws Exception {
//                            socketChannel.pipeline()
//                                    .addLast(new LengthFieldBasedFrameDecoder(Integer.MAX_VALUE, 0, 4, 0, 4))
//                                    .addLast("frameEncoder",new LengthFieldPrepender(4))
//                                    .addLast("decoder",new StringDecoder(CharsetUtil.UTF_8))
//                                    .addLast("encoder",new StringEncoder(CharsetUtil.UTF_8));
////                                    .addLast("handler",new ClientHandler());
//                        }
//                    });
//            for (int i = 0; i <10 ; i++) {
//                ChannelFuture future = bootstrap.connect("127.0.0.1", 8379).sync();
//                future.channel().writeAndFlush("hello,Server"+Thread.currentThread().getName()+"------>"+i);
//                // 闭的时候需要提示一些信息，所以要注册一个监听器 ，sync，因为关闭也是一个阻塞事件。
//                future.channel().closeFuture().sync();
//            }
//
//        }catch (Exception e){
//            System.out.println("客户端异常------>"+e.getMessage());
//        }finally {
//            System.out.println("优雅关闭client。。。");
//            workerGroup.shutdownGracefully();
//        }
//    }
//
//
//
//}
